﻿using Xejen.Communication.Soap.Configuration;
using System;
using System.Collections.Generic;
using System.Text;

namespace Xejen.Communication.Soap.Abstract
{
    /// <summary>
    /// 用于创建一个Soap请求调用
    /// </summary>
    /// <creator>marc</creator>
    /// <typeparam name="TSoapInvoker">
    /// 驱动类型
    /// <para>
    /// 如WebClient用于WebServices服务、ChannelFactory用于Wcf服务
    /// </para>
    /// </typeparam>
    public interface ISoapInvokerCreator<TSoapInvoker>
    {
        /// <summary>
        /// 构建一个Soap请求驱动
        /// </summary>
        /// <param name="config"><inheritdoc cref="SoapConfig" path="/summary"/></param>
        /// <returns></returns>
        TSoapInvoker Create(SoapConfig config);
    }
}
